package com.quan.mall.service;

import com.quan.mall.commons.vo.PmsAttrGroupVo;
import com.quan.mall.commons.vo.PmsAttrVo;
import com.quan.mall.entity.PmsAttr;
import com.quan.commons.core.utils.PageUtils;
import com.quan.commons.core.biz.support.MyBaseService;

import java.util.List;

/**
 * 商品-属性
 *
 * @author yhaoquan
 * @email yhaoquan@163.com
 * @date 2021-02-09 11:44:01
 */
public interface PmsAttrService extends MyBaseService<PmsAttr> {

    /**
     * 列表查询
     * @param vo
     * @return
     */
    public List<PmsAttrVo> queryList(PageUtils pageUtils, PmsAttrVo vo) ;

    /**
     * 分页查询
     * @param pageUtils
     * @param vo
     * @return
     */
    public PageUtils queryPage(PageUtils pageUtils, PmsAttrVo vo);

    PageUtils queryAttrPage(PageUtils pageUtils, String type, PmsAttrVo vo);

    /**
     * 获取属性信息
     * @param id
     * @return
     */
    PmsAttrVo getAttrInfo(Long id);

    /**
     * 根据分组id找到关联的所有属性
     * @param attrgroupId
     * @return
     */
    public List<PmsAttr> getGroupAttrs(Long attrgroupId);

    /**
     * 删除属性分组关联
     * @param vos
     */
    void deleteRelation(PmsAttrGroupVo[] vos);

    /**
     * 获取属性分组没有关联的其他属性
     * @param pageUtils
     * @param attrgroupId
     * @return
     */
    PageUtils getNoRelationAttr(PageUtils pageUtils, Long attrgroupId, PmsAttrVo vo);
}

